package com.durian.financial.api.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.durian.common.core.annotation.Excel;
import com.durian.common.core.web.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 保理申请明细对象 t_jr_factoring_detail
 * 
 * @author durian
 * @date 2022-06-27
 */
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
public class JrFactoringDetail extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键id */
    private Long id;

    /** 租约保理申请ID */
    @Excel(name = "租约保理申请ID")
    private Long factoringId;

    /** 商户id */
    @Excel(name = "商户id")
    private Long businessId;

    /** 出房合同ID */
    @Excel(name = "出房合同ID")
    private Long cfContractId;

    /** 房产编号 */
    @Excel(name = "房产编号")
    private String houseId;

    /** 房产信息(考虑在房产表中增加house_name，然后带出) */
    @Excel(name = "房产信息(考虑在房产表中增加house_name，然后带出)")
    private String houseName;

    /** 房源ID */
    @Excel(name = "房源ID")
    private String roomId;

    /** 房源编号 */
    @Excel(name = "房源编号")
    private String roomCode;

    /** 房源名称 */
    @Excel(name = "房源名称")
    private String roomName;

    /** 租客ID */
    @Excel(name = "租客ID")
    private Long tenantId;

    /** 租客姓名 */
    @Excel(name = "租客姓名")
    private String tenantName;

    /** 租客手机号 */
    @Excel(name = "租客手机号")
    private String tenantPhone;

    /** 应收租约金额 */
    @Excel(name = "应收租约金额")
    private BigDecimal shouldMonthRent;

    /** 保理授信额度 */
    @Excel(name = "保理授信额度")
    private BigDecimal factoringCreditMoney;

    /** 保理利息 */
    @Excel(name = "保理利息")
    private BigDecimal factoringInterest;

    /** 服务费 */
    @Excel(name = "服务费")
    private BigDecimal serviceFee;

    /** 借款周期(多少个月 = 付几 * 剩余未付房租账期数) */
    @Excel(name = "借款周期(多少个月 = 付几 * 剩余未付房租账期数)")
    private Integer factoringPeriod;

    /** 借款账期开始日 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "借款账期开始日", width = 30, dateFormat = "yyyy-MM-dd")
    private Date borrowedStart;

    /** 借款账期截止日 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "借款账期截止日", width = 30, dateFormat = "yyyy-MM-dd")
    private Date borrowedEnd;

    /** 预留字段1 */
    @Excel(name = "预留字段1")
    private BigDecimal reserve1;

    /** 预留字段2 */
    @Excel(name = "预留字段2")
    private Long reserve2;

    /** 预留字段3 */
    @Excel(name = "预留字段3")
    private String reserve3;

    /** 预留字段4 */
    @Excel(name = "预留字段4")
    private String reserve4;

    /** 预留字段5 */
    @Excel(name = "预留字段5")
    private String reserve5;

    /** 删除标识（0：未删除）（1：删除） */
    @Excel(name = "删除标识", readConverterExp = "0=：未删除")
    private Integer delFlg;

    /** 创建用户id */
    @Excel(name = "创建用户id")
    private Long createUserid;

    /** 更新用户id */
    @Excel(name = "更新用户id")
    private Long updateUserid;
}
